[INFO] cloning repository https://github.com/bollu/equinox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bollu/equinox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbollu%2Fequinox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbollu%2Fequinox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6f8874dd0cff8bd044e31e8c0638e78c88cc8a5b
[INFO] building bollu/equinox against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbollu%2Fequinox" "/workspace/builds/worker-8/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/bollu/equinox on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/bollu/equinox
[INFO] finished tweaking git repo https://github.com/bollu/equinox
[INFO] tweaked toml for git repo https://github.com/bollu/equinox written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] crate git repo https://github.com/bollu/equinox already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fa3fb53967ba77312f27aead2f4033611af02715b4d04f2d0ba383a32c953ab2
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "fa3fb53967ba77312f27aead2f4033611af02715b4d04f2d0ba383a32c953ab2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fa3fb53967ba77312f27aead2f4033611af02715b4d04f2d0ba383a32c953ab2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa3fb53967ba77312f27aead2f4033611af02715b4d04f2d0ba383a32c953ab2", kill_on_drop: false }`
[INFO] [stdout] fa3fb53967ba77312f27aead2f4033611af02715b4d04f2d0ba383a32c953ab2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2e7bc7fb39aa2ac99bc8326a8d24fdbafcd72cb70a9c7128eb68c0e40f33426e
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "2e7bc7fb39aa2ac99bc8326a8d24fdbafcd72cb70a9c7128eb68c0e40f33426e", kill_on_drop: false }`
[INFO] [stderr]    Compiling sfml-build v0.1.0
[INFO] [stderr]    Compiling num-traits v0.1.37
[INFO] [stderr]    Compiling rustc-serialize v0.3.23
[INFO] [stderr]    Compiling libc v0.2.21
[INFO] [stderr]    Compiling csfml-system-sys v0.2.1
[INFO] [stderr]    Compiling csfml-window-sys v0.2.0
[INFO] [stderr]    Compiling csfml-graphics-sys v0.3.0
[INFO] [stderr]    Compiling csfml-audio-sys v0.2.0
[INFO] [stderr]    Compiling rand v0.3.15
[INFO] [stderr]    Compiling num-integer v0.1.34
[INFO] [stderr]    Compiling num-iter v0.1.33
[INFO] [stderr]    Compiling sfml v0.12.0
[INFO] [stderr]    Compiling num-bigint v0.1.37
[INFO] [stderr]    Compiling num-complex v0.1.37
[INFO] [stderr]    Compiling num-rational v0.1.36
[INFO] [stderr]    Compiling num v0.1.37
[INFO] [stderr]    Compiling equinox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::collections;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/event_queue.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 |     handlers: VecDeque<&'a mut EventHandler>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn EventHandler`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/event_queue.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn push(&mut self, handler: &'a mut EventHandler) {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^ help: use `dyn`: `dyn EventHandler`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/rendering.rs:76:29
[INFO] [stdout]    |
[INFO] [stdout] 76 |     renderers: VecDeque<&'a Drawable>,
[INFO] [stdout]    |                             ^^^^^^^^ help: use `dyn`: `dyn Drawable`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/rendering.rs:88:42
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn push(&mut self, renderer: &'a Drawable) {
[INFO] [stdout]    |                                          ^^^^^^^^ help: use `dyn`: `dyn Drawable`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::settings::Settings`
[INFO] [stdout]  --> src/engine/state.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use engine::settings::Settings;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/state.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |     states: HashMap<StateId, Box<State>>,
[INFO] [stdout]    |                                  ^^^^^ help: use `dyn`: `dyn State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/state.rs:69:57
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn add_state(&mut self, id: StateId, state: Box<State>) {
[INFO] [stdout]    |                                                         ^^^^^ help: use `dyn`: `dyn State`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/engine/state.rs:113:59
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn get_current_state<'a>(&'a mut self) -> &'a mut Box<State> {
[INFO] [stdout]     |                                                           ^^^^^ help: use `dyn`: `dyn State`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StateData`
[INFO] [stdout]  --> src/game/main_menu.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use engine::state::{StateData, State, EngineState};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game`
[INFO] [stdout]   --> src/game/main_menu.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use game;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StateData`
[INFO] [stdout]  --> src/game/slot_select_menu.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use engine::state::{StateData, State, EngineState};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game`
[INFO] [stdout]   --> src/game/slot_select_menu.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use game;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::vec::Vec`
[INFO] [stdout]  --> src/game/level.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::vec::Vec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]  --> src/game/savefile.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(RustcEncodable, RustcDecodable)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]  --> src/game/savefile.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(RustcEncodable, RustcDecodable)]
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/game/savefile.rs:23:64
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut encoder = json::Encoder::new(&mut file as &mut Write);
[INFO] [stdout]    |                                                                ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `keyboard` should have an upper camel case name
[INFO] [stdout]  --> src/heart/game_event_layer.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type keyboard = Key;
[INFO] [stdout]   |      ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Keyboard`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut settings = settings::Settings::new("settings".to_string());
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                expected `&str`, found struct `std::string::String`
[INFO] [stdout]    |                                                help: consider borrowing here: `&"settings".to_string()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/main.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut settings = settings::Settings::new("settings".to_string());
[INFO] [stdout]    |         ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: all local variables must have a statically known size
[INFO] [stdout]    = help: unsized locals are gated as an unstable feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/main.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | /         loop {
[INFO] [stdout] 51 | |             let event = window.poll();
[INFO] [stdout] 52 | |
[INFO] [stdout] 53 | |             match event {
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |             }
[INFO] [stdout] 65 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] 66 | 
[INFO] [stdout] 67 |           let engine_state =  state_machine.tick(1.0 / 60.0, &mut event_queue, &mut render_queue);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/main.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |       let mut settings = settings::Settings::new("settings".to_string());
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout] ...
[INFO] [stdout] 49 | /     while window.is_open() {
[INFO] [stdout] 50 | |         loop {
[INFO] [stdout] 51 | |             let event = window.poll();
[INFO] [stdout] 52 | |
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |         window.display();
[INFO] [stdout] 76 | |     }
[INFO] [stdout]    | |_____- this returned value is of type `()`
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: the return type of a function must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `VecDeque<&'a mut (dyn EventHandler + 'a)>` in the current scope
[INFO] [stdout]   --> src/engine/event_queue.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |         for handler in self.handlers.mut_iter() {
[INFO] [stdout]    |                                      ^^^^^^^^ method not found in `VecDeque<&'a mut (dyn EventHandler + 'a)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_init` found for struct `VideoMode` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let videoMode = VideoMode::new_init(width, height, 32);
[INFO] [stdout]    |                                    ^^^^^^^^ function or associated item not found in `VideoMode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `FULLSCREEN` found for struct `Style` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |             Style::FULLSCREEN
[INFO] [stdout]    |                    ^^^^^^^^^^ associated item not found in `Style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `CLOSE` found for struct `Style` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |             Style::CLOSE
[INFO] [stdout]    |                    ^^^^^ associated item not found in `Style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/rendering.rs:28:55
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Window { window: RenderWindow::new(videoMode, title, style, &setting).unwrap() }
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout]    |                                                       |
[INFO] [stdout]    |                                                       expected `&str`, found struct `std::string::String`
[INFO] [stdout]    |                                                       help: consider borrowing here: `&title`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/rendering.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn poll(&mut self) -> Event {
[INFO] [stdout]    |                               ----- expected `Event` because of return type
[INFO] [stdout] 36 |         self.window.poll_event()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Event`, found enum `Option`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Event`
[INFO] [stdout]               found enum `Option<Event>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clear` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |         self.window.clear(&clear_color);
[INFO] [stdout]    |                     ^^^^^ method not found in `RenderWindow`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/sfml-0.12.0/src/graphics/render_target.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn clear(&mut self, color: &Color);
[INFO] [stdout]    |        ----- the method is available for `RenderWindow` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]    = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]            `use sfml::graphics::RenderTarget;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.window.get_size().x as usize
[INFO] [stdout]    |                     ^^^^^^^^ help: there is an associated function with a similar name: `set_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |         self.window.get_size().y as usize
[INFO] [stdout]    |                     ^^^^^^^^ help: there is an associated function with a similar name: `set_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_size` found for struct `RenderWindow` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:60:32
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let size = self.window.get_size();
[INFO] [stdout]    |                                ^^^^^^^^ help: there is an associated function with a similar name: `set_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_RGB` found for struct `Color` in the current scope
[INFO] [stdout]   --> src/engine/rendering.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 |             clear_color: Color::new_RGB(0, 0, 20),
[INFO] [stdout]    |                                 ^^^^^^^ function or associated item not found in `Color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `draw_in_render_window` found for reference `&&dyn Drawable` in the current scope
[INFO] [stdout]    --> src/engine/rendering.rs:103:22
[INFO] [stdout]     |
[INFO] [stdout] 103 |             renderer.draw_in_render_window(render_window);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^ method not found in `&&dyn Drawable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `find` found for struct `HashMap<std::string::String, Resource>` in the current scope
[INFO] [stdout]   --> src/engine/resource_loader.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |         match self.resources.find(key) {
[INFO] [stdout]    |                              ^^^^ method not found in `HashMap<std::string::String, Resource>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/engine/state.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         self.states.get_mut(&self.current_id)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected mutable reference, found enum `Option`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&'a mut Box<(dyn state::State + 'static)>`
[INFO] [stdout]                             found enum `Option<&mut Box<(dyn state::State + 'static)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/engine/settings.rs:27:44
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(settings_path_raw: &str) -> Settings {
[INFO] [stdout]    |                                            ^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: the return type of a function must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read_to_str` found for enum `Result<File, std::io::Error>` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let contents = File::open(&path).read_to_str().unwrap();
[INFO] [stdout]    |                                              ^^^^^^^^^^^ method not found in `Result<File, std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/settings.rs:35:32
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 settings_path: path,
[INFO] [stdout]    |                                ^^^^ expected struct `Path`, found `&Path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/engine/settings.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 | /             Settings {
[INFO] [stdout] 35 | |                 settings_path: path,
[INFO] [stdout] 36 | |                 key_value_pair: key_value_pair,
[INFO] [stdout] 37 | |             }
[INFO] [stdout]    | |_____________^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: structs must have a statically known size to be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/engine/settings.rs:42:32
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 settings_path: path,
[INFO] [stdout]    |                                ^^^^ expected struct `Path`, found `&Path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
[INFO] [stdout]   --> src/engine/settings.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 | /             Settings {
[INFO] [stdout] 42 | |                 settings_path: path,
[INFO] [stdout] 43 | |                 key_value_pair: key_value_pair,
[INFO] [stdout] 44 | |             }
[INFO] [stdout]    | |_____________^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: within `Settings`, the trait `Sized` is not implemented for `[u8]`
[INFO] [stdout] note: required because it appears within the type `Settings`
[INFO] [stdout]   --> src/engine/settings.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Settings {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    = note: structs must have a statically known size to be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `find_or_insert` found for struct `HashMap<std::string::String, Setting>` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:49:36
[INFO] [stdout]    |
[INFO] [stdout] 49 |         return self.key_value_pair.find_or_insert(name, default_value);
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^ method not found in `HashMap<std::string::String, Setting>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `char_at` found for reference `&str` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |         match name.char_at(0) {
[INFO] [stdout]    |                    ^^^^^^^ method not found in `&str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `isize` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let value = isize::from_str(valueStr).unwrap();
[INFO] [stdout]    |                                    ^^^^^^^^ function or associated item not found in `isize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]    = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]            `use std::str::FromStr;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:62:34
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let value = f32::from_str(valueStr).unwrap();
[INFO] [stdout]    |                                  ^^^^^^^^ function or associated item not found in `f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]    = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]            `use std::str::FromStr;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:73:35
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 let float1 = f32::from_str(*floatPair.get(0)).unwrap();
[INFO] [stdout]    |                                   ^^^^^^^^ function or associated item not found in `f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]    = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]            `use std::str::FromStr;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `Option<&&str>` cannot be dereferenced
[INFO] [stdout]   --> src/engine/settings.rs:73:44
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 let float1 = f32::from_str(*floatPair.get(0)).unwrap();
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for type `f32` in the current scope
[INFO] [stdout]   --> src/engine/settings.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let float2 = f32::from_str(*floatPair.get(1)).unwrap();
[INFO] [stdout]    |                                   ^^^^^^^^ function or associated item not found in `f32`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]    = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]            `use std::str::FromStr;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `Option<&&str>` cannot be dereferenced
[INFO] [stdout]   --> src/engine/settings.rs:74:44
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let float2 = f32::from_str(*floatPair.get(1)).unwrap();
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `trim` found for enum `Option<&&str>` in the current scope
[INFO] [stdout]    --> src/engine/settings.rs:101:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let name = dataPair.get(0).trim();
[INFO] [stdout]     |                                        ^^^^ method not found in `Option<&&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `trim` found for enum `Option<&&str>` in the current scope
[INFO] [stdout]    --> src/engine/settings.rs:102:44
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let valueStr = dataPair.get(1).trim();
[INFO] [stdout]     |                                            ^^^^ method not found in `Option<&&str>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_from_file` found for struct `Font` in the current scope
[INFO] [stdout]   --> src/game/mod.rs:19:37
[INFO] [stdout]    |
[INFO] [stdout] 19 |      let obelix_font = graphics::Font::new_from_file("res/font/AlegreyaSansSC-Light.ttf").unwrap();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        function or associated item not found in `Font`
[INFO] [stdout]    |                                        help: there is an associated function with a similar name: `from_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0621]: explicit lifetime required in the type of `loader`
[INFO] [stdout]   --> src/game/mod.rs:38:55
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 loader: &ResourceLoader, 
[INFO] [stdout]    |                         --------------- help: add explicit lifetime `'static` to the type of `loader`: `&'static ResourceLoader`
[INFO] [stdout] ...
[INFO] [stdout] 38 |     state_machine.add_state(MainMenuStateID as isize, Box::new(main_menu::MainMenu::new(loader, ctx)));
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'static` required
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0621]: explicit lifetime required in the type of `loader`
[INFO] [stdout]   --> src/game/mod.rs:41:57
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 loader: &ResourceLoader, 
[INFO] [stdout]    |                         --------------- help: add explicit lifetime `'static` to the type of `loader`: `&'static ResourceLoader`
[INFO] [stdout] ...
[INFO] [stdout] 41 |     state_machine.add_state(SlotSelectStateID as isize, Box::new(slot_select_menu::SlotSelectMenu::new(loader, ctx)));
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'static` required
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `viewport_dim` of struct `RenderContext` is private
[INFO] [stdout]   --> src/game/main_menu.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let render_dim = render_ctx.viewport_dim;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Text<'_>` in the current scope
[INFO] [stdout]   --> src/game/main_menu.rs:48:70
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut banner = Text::new_init("equinox", font, font_size_banner).unwrap();
[INFO] [stdout]    |                                                                            ^^^^^^ method not found in `Text<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0623]: lifetime mismatch
[INFO] [stdout]    --> src/game/main_menu.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 99  |     fn queue_event_handlers(&mut self, event_queue: &mut EventQueue){
[INFO] [stdout]     |                             ---------                    ----------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             these two types are declared with different lifetimes...
[INFO] [stdout] 100 |         event_queue.push(&mut self.handler);
[INFO] [stdout]     |                     ^^^^ ...but data from `self` flows into `event_queue` here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for borrow expression due to conflicting requirements
[INFO] [stdout]    --> src/game/main_menu.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |         render_queue.push(&self.banner);
[INFO] [stdout]     |                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined on the impl at 98:6...
[INFO] [stdout]    --> src/game/main_menu.rs:98:6
[INFO] [stdout]     |
[INFO] [stdout] 98  | impl<'a> State for MainMenu<'a> {
[INFO] [stdout]     |      ^^
[INFO] [stdout] note: ...so that the type `Text<'a>` is not borrowed for too long
[INFO] [stdout]    --> src/game/main_menu.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |         render_queue.push(&self.banner);
[INFO] [stdout]     |                           ^^^^^^^^^^^^
[INFO] [stdout] note: but, the lifetime must be valid for the anonymous lifetime defined on the method body at 103:51...
[INFO] [stdout]    --> src/game/main_menu.rs:103:51
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn queue_renderers(&mut self, render_queue: &mut RenderQueue){
[INFO] [stdout]     |                                                      ^^^^^^^^^^^
[INFO] [stdout] note: ...so that the types are compatible
[INFO] [stdout]    --> src/game/main_menu.rs:105:16
[INFO] [stdout]     |
[INFO] [stdout] 105 |         render_queue.push(&self.banner);
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     = note: expected `&mut RenderQueue<'_>`
[INFO] [stdout]                found `&mut RenderQueue<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `Vec<MenuItem<'a, MenuItemTag>>` in the current scope
[INFO] [stdout]    --> src/game/main_menu.rs:114:31
[INFO] [stdout]     |
[INFO] [stdout] 114 |         for item in self.menu_items.mut_iter() {
[INFO] [stdout]     |                                     ^^^^^^^^ method not found in `Vec<MenuItem<'a, MenuItemTag>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:115:39
[INFO] [stdout]     |
[INFO] [stdout] 115 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:115:55
[INFO] [stdout]     |
[INFO] [stdout] 115 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `clicked` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                             ^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:117:58
[INFO] [stdout]     |
[INFO] [stdout] 117 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/main_menu.rs:117:74
[INFO] [stdout]     |
[INFO] [stdout] 117 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0623]: lifetime mismatch
[INFO] [stdout]   --> src/game/game_state.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn queue_event_handlers(&mut self, event_queue: &mut EventQueue){
[INFO] [stdout]    |                             ---------                    ----------
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             these two types are declared with different lifetimes...
[INFO] [stdout] 41 |         event_queue.push(&mut self.event_layer);
[INFO] [stdout]    |                     ^^^^ ...but data from `self` flows into `event_queue` here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `viewport_dim` of struct `RenderContext` is private
[INFO] [stdout]   --> src/game/slot_select_menu.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let render_dim = render_ctx.viewport_dim;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/slot_select_menu.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 if save_exists(save_path) {
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                expected `&str`, found struct `std::string::String`
[INFO] [stdout]    |                                help: consider borrowing here: `&save_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/slot_select_menu.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 |                     read_save_from_disk(save_path)
[INFO] [stdout]    |                                         ^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         expected `&str`, found struct `std::string::String`
[INFO] [stdout]    |                                         help: consider borrowing here: `&save_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/slot_select_menu.rs:50:32
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     write_save_to_disk(&save, save_path);
[INFO] [stdout]    |                                               ^^^^^^^^^
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               expected `&str`, found struct `std::string::String`
[INFO] [stdout]    |                                               help: consider borrowing here: `&save_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_str` found for type `isize` in the current scope
[INFO] [stdout]   --> src/game/slot_select_menu.rs:55:31
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let name = "slot " + index.to_str();
[INFO] [stdout]    |                                        ^^^^^^ method not found in `isize`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `open` of struct `Savefile` is private
[INFO] [stdout]   --> src/game/slot_select_menu.rs:57:28
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let color = if savefile.open {
[INFO] [stdout]    |                                     ^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0623]: lifetime mismatch
[INFO] [stdout]   --> src/game/slot_select_menu.rs:89:15
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn queue_event_handlers(&mut self, event_queue: &mut EventQueue){
[INFO] [stdout]    |                             ---------                    ----------
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             these two types are declared with different lifetimes...
[INFO] [stdout] 89 |         event_queue.push(&mut self.handler);
[INFO] [stdout]    |                     ^^^^ ...but data from `self` flows into `event_queue` here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `mut_iter` found for struct `Vec<MenuItem<'a, isize>>` in the current scope
[INFO] [stdout]    --> src/game/slot_select_menu.rs:102:31
[INFO] [stdout]     |
[INFO] [stdout] 102 |         for item in self.menu_items.mut_iter() {
[INFO] [stdout]     |                                     ^^^^^^^^ method not found in `Vec<MenuItem<'a, isize>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:103:39
[INFO] [stdout]     |
[INFO] [stdout] 103 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:103:55
[INFO] [stdout]     |
[INFO] [stdout] 103 |             item.update_state(dt, self.handler.x, self.handler.y);
[INFO] [stdout]     |                                                                ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `clicked` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:105:20
[INFO] [stdout]     |
[INFO] [stdout] 105 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                             ^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `x` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:105:58
[INFO] [stdout]     |
[INFO] [stdout] 105 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `y` of struct `SimpleMenuHandler` is private
[INFO] [stdout]    --> src/game/slot_select_menu.rs:105:74
[INFO] [stdout]     |
[INFO] [stdout] 105 |             if self.handler.clicked && item.contains(self.handler.x, self.handler.y) {
[INFO] [stdout]     |                                                                                   ^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/ui.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut text = Text::new_init(label, font, font_size).unwrap();
[INFO] [stdout]    |                                                    ^^^^^^^^^ expected `u32`, found `usize`
[INFO] [stdout]    |
[INFO] [stdout] help: you can convert a `usize` to a `u32` and panic if the converted value doesn't fit
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut text = Text::new_init(label, font, font_size.try_into().unwrap()).unwrap();
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Text<'_>` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:33:57
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut text = Text::new_init(label, font, font_size).unwrap();
[INFO] [stdout]    |                                                               ^^^^^^ method not found in `Text<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `RectangleShape<'_>` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:36:40
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut back = RectangleShape::new().unwrap();
[INFO] [stdout]    |                                              ^^^^^^ method not found in `RectangleShape<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_local_bounds` found for struct `Text<'a>` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:51:50
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let text_y = y + item_height * 0.5 - self.text.get_local_bounds().height;
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: `global_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_position2f` found for struct `Text<'a>` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         self.text.set_position2f(text_x, text_y);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ method not found in `Text<'a>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/sfml-0.12.0/src/graphics/transformable.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn set_position2f(&mut self, x: f32, y: f32);
[INFO] [stdout]    |        -------------- the method is available for `Text<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]    = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]            `use sfml::graphics::Transformable;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_position2f` found for struct `RectangleShape<'a>` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         self.back.set_position2f(0 as f32, text_y);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/sfml-0.12.0/src/graphics/transformable.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn set_position2f(&mut self, x: f32, y: f32);
[INFO] [stdout]    |        -------------- the method is available for `RectangleShape<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]    = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]            `use sfml::graphics::Transformable;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `alpha` on type `Color`
[INFO] [stdout]   --> src/game/ui.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         color.alpha = self.animator.val() as u8;
[INFO] [stdout]    |               ^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `r`, `g`, `b`, `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_fill_color` found for struct `RectangleShape<'a>` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         self.back.set_fill_color(&color);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/sfml-0.12.0/src/graphics/shape.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn set_fill_color(&mut self, color: &Color);
[INFO] [stdout]    |        -------------- the method is available for `RectangleShape<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]    = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]            `use sfml::graphics::Shape;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_global_bounds` found for struct `RectangleShape<'a>` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:67:16
[INFO] [stdout]    |
[INFO] [stdout] 67 |         if self.back.get_global_bounds().contains(mouse_x,mouse_y) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_global_bounds` found for struct `RectangleShape<'a>` in the current scope
[INFO] [stdout]   --> src/game/ui.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         self.back.get_global_bounds().contains(mouse_x,mouse_y)
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^ method not found in `RectangleShape<'a>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0621]: explicit lifetime required in the type of `queue`
[INFO] [stdout]   --> src/game/ui.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn push_to_queue(&self, queue: &mut RenderQueue) {
[INFO] [stdout]    |                                        ---------------- help: add explicit lifetime `'a` to the type of `queue`: `&mut RenderQueue<'a>`
[INFO] [stdout] 81 |         queue.push(&self.back);
[INFO] [stdout]    |               ^^^^ lifetime `'a` required
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0621]: explicit lifetime required in the type of `queue`
[INFO] [stdout]   --> src/game/ui.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn push_to_queue(&self, queue: &mut RenderQueue) {
[INFO] [stdout]    |                                        ---------------- help: add explicit lifetime `'a` to the type of `queue`: `&mut RenderQueue<'a>`
[INFO] [stdout] 81 |         queue.push(&self.back);
[INFO] [stdout] 82 |         queue.push(&self.text);
[INFO] [stdout]    |               ^^^^ lifetime `'a` required
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/savefile.rs:23:46
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut encoder = json::Encoder::new(&mut file as &mut Write);
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^ expected trait `std::fmt::Write`, found trait `std::io::Write`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected mutable reference `&mut dyn std::fmt::Write`
[INFO] [stdout]               found mutable reference `&mut dyn std::io::Write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<File, std::io::Error>: std::io::Write` is not satisfied
[INFO] [stdout]   --> src/game/savefile.rs:23:46
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut encoder = json::Encoder::new(&mut file as &mut Write);
[INFO] [stdout]    |                                              ^^^^^^^^^ the trait `std::io::Write` is not implemented for `Result<File, std::io::Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for the cast to the object type `dyn std::io::Write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read_to_end` found for enum `Result<File, std::io::Error>` in the current scope
[INFO] [stdout]   --> src/game/savefile.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let raw_data = file.read_to_end().unwrap();
[INFO] [stdout]    |                         ^^^^^^^^^^^ method not found in `Result<File, std::io::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Json: Decodable` is not satisfied
[INFO] [stdout]    --> src/game/savefile.rs:35:20
[INFO] [stdout]     |
[INFO] [stdout] 35  |     let json_object = json::decode(json_str).unwrap();
[INFO] [stdout]     |                       ^^^^^^^^^^^^ the trait `Decodable` is not implemented for `Json`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.23/src/json.rs:379:18
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn decode<T: ::Decodable>(s: &str) -> DecodeResult<T> {
[INFO] [stdout]     |                  ----------- required by this bound in `rustc_serialize::json::decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/game/savefile.rs:38:28
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let savefile : Savefile = Decodable::decode(&mut savefile_decoder);
[INFO] [stdout]    |                    --------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Savefile`, found enum `Result`
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected due to this
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Savefile`
[INFO] [stdout]                 found enum `Result<_, DecoderError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0621]: explicit lifetime required in the type of `render_queue`
[INFO] [stdout]   --> src/heart/player.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn push_to_queue(&self, render_queue: &mut RenderQueue) {
[INFO] [stdout]    |                                               ---------------- help: add explicit lifetime `'a` to the type of `render_queue`: `&mut RenderQueue<'a>`
[INFO] [stdout] 24 |         render_queue.push(&self.renderer.render);
[INFO] [stdout]    |                      ^^^^ lifetime `'a` required
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `CircleShape<'_>` in the current scope
[INFO] [stdout]   --> src/heart/player.rs:69:51
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let mut render = CircleShape::new_init(32., 30).unwrap();
[INFO] [stdout]    |                                                         ^^^^^^ method not found in `CircleShape<'_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_position` found for struct `CircleShape<'a>` in the current scope
[INFO] [stdout]   --> src/heart/player.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |         self.render.set_position(&repr.get_position())
[INFO] [stdout]    |                     ^^^^^^^^^^^^ method not found in `CircleShape<'a>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/sfml-0.12.0/src/graphics/transformable.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn set_position(&mut self, position: &Vector2f);
[INFO] [stdout]    |        ------------ the method is available for `CircleShape<'a>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]    = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]            `use sfml::graphics::Transformable;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 80 previous errors; 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0495, E0599, E0609, E0614, E0616, E0621, E0623.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `equinox`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "2e7bc7fb39aa2ac99bc8326a8d24fdbafcd72cb70a9c7128eb68c0e40f33426e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e7bc7fb39aa2ac99bc8326a8d24fdbafcd72cb70a9c7128eb68c0e40f33426e", kill_on_drop: false }`
[INFO] [stdout] 2e7bc7fb39aa2ac99bc8326a8d24fdbafcd72cb70a9c7128eb68c0e40f33426e
